In software, a generalized table is a set of related oblique, vertical and horizontal conceptual line segments called, respectively, diagonal, column and row rules. Enclosed areas and partitions are formed by these rules intersecting and collinearly joining each other. The smallest unit of such enclosed areas is called a cell. In a generalized table, rules and the areas they enclose need not be visible on the video display. FIG. 1A shows the visible structure of a generalized table 100, although its defined structure includes an invisible enclosed area 101 which is shown in FIG. 1B. Generalized table 100 may be used to construct a business form as shown in FIG. 1C.
There have been three approaches to providing a user interface to allow a user to design a generalized table in the prior art: (1) the graphic approach, (2) the box approach, and (3) the regular table approach.
The graphic approach in the prior art treats a generalized table as a collection of unrelated column and row rules arranged in a particular way. To create a generalized table, a user first draws a rectangle as the outer boundary of the generalized table. He or she then draws each column or row rule carefully, making sure both ends of each rule touch other rules to form enclosed areas. In this approach, each rule is an independent graphic object, and can be drawn, deleted, stretched and shifted (i.e., moved in a direction perpendicular to the rule) individually without impacting any other rule. Under this approach, when a rule is shifted to change the size of an enclosed area, all other rules previously touching the shifting rule may become disconnected, so that some areas may become no longer enclosed, and each rule must be stretched or shrunk one by one to restore the previously enclosed areas. For example, in FIG. 2, when the top rule 201 in the upper table 20a is shifted upwards, the top ends of all connecting (i.e. touching) rules become disconnected as shown in the lower table 20b. Because the concepts of cell boundaries, columns of cells, or rows of cells are not present, many common operations, called row-based or column-based operations, such as setting column width or row height, or automatically centering text in a cell, are not available in a system using the graphic approach.
The second approach in the prior art treats each cell of a generalized table as a box. Each cell can be created, deleted, moved, stretched, and shrunk independently without impacting other cells. The background pattern, the style, and the thickness of the border of each cell can therefore also be changed independently. Under the box approach, a generalized table is built by placing cells adjacent to each other. With this approach, when a cell is stretched, shrunk, or moved, all the adjacent cells must be adjusted one by one. For example, as shown in FIG. 3, a simple size modification to cell 301 in table 30a of the upper half of the figure results in the table 30b shown in the lower half of the figure. Table 30b will require significant effort in adjusting the other cells (e.g. 302, 303,304) to form a rectangular table again. Furthermore, just like the graphic approach, the box approach does not recognize columns and rows of cells, and cannot provide column-based or row-based operations.
The regular table approach is the third alternative in the prior art. A regular table is an array of cells arranged in a rectangular pattern forming rows and columns, with the cells in each column having the same width, and the cells in each row having the same height. A typical prior art system provides a regular table automatically upon start-up. The dimension, width or height of each table column or row can be adjusted independently, and the rest of the cells in the column or row will be adjusted accordingly. Under the regular table approach, the dimensions of each cell in each column or row can easily be set. However, under the strict regular table approach, it is not possible to combine individual cells and hence, generalized tables cannot be created under such systems.
Other systems in the prior art using a modified regular table approach provide split-column tables, i.e. the requirement that all cells in the same column must have the same size is relaxed. In this approach, for example, a column (the "main" column) can be split into several smaller columns in some parts of the main column. This technique is often used in the design of business forms, for example, to provide a column bearing a major heading, underneath which smaller sub-columns bearing minor headings are provided. Since the split-column table is just a special (though useful) case of the generalized table, a system using the split-column table approach will not be capable of building a generalized table without additional features.
Still another system in the prior art under a modified regular table approach uses parameters to generate the regular table. In one such system, once the size (i.e. number of rows and columns) and location of the table are defined, the table is generated and placed in the designated location. In that system, the column rules and row rules are always set to the same width and style, with the exception of the rule associated with the table header, which can be set to a different style.
There exist other systems in the prior art using the parameter approach, which provide a command to combine cells and have another command to split cells. Even with this augmented ability to combine cells, the number of steps necessary to create a generalized table as complex as the one shown in FIG. 1A is still large. For example, in order to create a column of cells which is single-cell per row except for the first two rows, which each contains two cells, the user must either split cells in the first two rows, or combine cells from the third row down. Furthermore, it is not possible to use this approach to support angled column headers nor triangular cells.
In light of these limitations in known systems, a simpler system is clearly desirable for use in designing generalized tables.